home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 12962 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  6.0 KB

  1. Path: slwol1p47.ozemail.com.au!user
  2. From: jmaling@ozemail.com.au (John Maling)
  3. Newsgroups: comp.lang.eiffel,comp.lang.c,comp.lang.c++,comp.object,comp.software-eng
  4. Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
  5. Date: Sat, 23 Mar 1996 04:13:01 +1000
  6. Organization: Zip Nada and Zero, Attorneys at Law
  7. Message-ID: <jmaling-2303960413010001@slwol1p47.ozemail.com.au>
  8. References: <1995Jul3.034108.4193@rcmcon.com> <RMARTIN.96Mar15094448@rcm.oma.com> <bksDoE2Fu.GBp@netcom.com> <653t-Df-3RB@herold.franken.de> <bksDoFwBA.Eut@netcom.com>
  9. NNTP-Posting-Host: slwol1p47.ozemail.com.au
  10. X-Newsreader: Value-Added NewsWatcher 2.0b24.0+
  11.  
  12. In refeference to the Dr Meyer quote, as duplicated by Robert Martin in
  13. message <RMARTIN.96Mar15094448@rcm.oma.com> (I wont repeat it again), this
  14. is my opinion.
  15.  
  16. I believe C is an old language (examples of it may have been discovered on
  17. temples that predate the Roman Empire). Seriously though, my first
  18. experiances with programming PC's was in 1982. Back then, when I looked at
  19. what language I was going to initialy learn, there was C and Pascal. C was
  20. undergoing the same 'push' that OO is undergoing now. It created
  21. comparitivly faster and smaller executables than Pascal, it was a high
  22. level language with lower level hooks and its libs were better optimised
  23. (why you could save a whole 8K!). It became (in books and the press of the
  24. time) The Way of The Future, precisly because of this- and *possibly*
  25. because it was popularly believed UNIX was going to take over the world
  26. (even down to PC's), and C was its anointed disciple.
  27.  
  28. Back then the most admirable thing was to squeeze the fastest code into
  29. the smallest executable space, and 'Readability, Provability and
  30. Extendibility' sat in the back seat, if they traveled together at all (at
  31. least it worked this way for PC programming, perhaps those with the 'vast'
  32. resources of mainframes could afford a more structured approach?). Does
  33. anyone remember the bizarre 'one line program' competitions of the early
  34. 80's? Those where you had to create a program in 255 bytes?
  35.  
  36. I chose to learn Pascal, I thought the C language was too much like a
  37. chainsaw, and I doubted UNIX's ability to take over the world (and did not
  38. want to program in a world where it did). The potential to wield C in just
  39. the way Dr Meyer describes was obvious. Of course that did not mean that
  40. you *would* use it that way, you can write C with as much control as
  41. Pascal, but since it *could* be done it was a natural choise for those who
  42. wanted to go the path Dr Meyer illustrates.
  43.  
  44. This, I think, is where Dr Meyer puts the cart before the horse. C was
  45. never inherantly evil, it was just the obvious language of choise for
  46. those who wanted to use it in 'hack' ways, though I would argue that the
  47. uses were not themselves bad, just necesary for the speed and space
  48. demands of the day.
  49.  
  50. Perhaps it could be reasonably said that the nasty practices Dr Meyer
  51. mentions were necesary practices in the early 80's, but now I find it very
  52. difficult to believe that there are still so many of these so called 'C
  53. Hackers' running around that their presence needs to be commented on.
  54. Nasty practises can be achieved in any language, I seriously wonder what
  55. Dr Meyer makes of bad OO designers who never had a C background. It seems
  56. to me that hardware has way outpaced software since then. It needs to be
  57. written by teams now, not by uncontroled genius mavericks working solo,
  58. and OO programming is the anointed disciple of team programming (and
  59. rightly so).
  60.  
  61. Up until a couple of months ago, OOD&P remained a curious mystery to me.
  62. My logic centres were set way deep for structured programming. People
  63. preaching OOD&P as 'THE WAY' left me stone cold- I thought it just another
  64. language bigotry thing.
  65.  
  66. However, since then I have 'seen the light'. OOP is indeed The Way (at
  67. least until something better is created). I was converted by <free plug
  68. time> Robert Martins book, 'Designing Object-Oriented C++ Applications
  69. using the Booch method.' I had periodically read books on OOD and always
  70. missed the point, but Martins book lit my head up like a Christmas tree. I
  71. had one of those 'Ahhhh!' experiences. Quite literally, I woke up sleepily
  72. one early morning- sat on the edge of the bed, and suddenly the whole
  73. concept of what makes OOD so good just hit me. Any parent of a newborn
  74. whose baby cries in the night knows well the effect of being transformed
  75. from sleep to hyper-alertness in a split second. It is not a pleasent
  76. sensation. Nevertheless that was the effect on me when OOD principles
  77. finaly clicked for me.
  78.  
  79. So I can understand what Meyers means by 'serious debriefing', it was only
  80. after my notions of structured programming logic were deeply suppressed
  81. that I was able to accept what OOD&P means (I believe in Zen this is known
  82. as emptying the glass), and my appreciation of the value of OOD&P came all
  83. at once. At the time I also had the insight that C++ is not an ideal OOP
  84. environment. However, nodding my head in the direction of the QWERTY
  85. keyboard and 90% of PC's I have chosen to study C++.
  86.  
  87. However, Dr Meyer setting this up as a religious issue appeals to the gut,
  88. not to the brain. All he seems to do is cast a light into a pit of C
  89. 'hacks' and a spotlight on the pedestal of OOD&P, and say, in effect, that
  90. those in the pit are in hell and do not know it, and those who are dragged
  91. up, or drag themselves up, resent it and/or are unable to effectively
  92. embrace OOD&P. I say kick this concept over to 'C++ beats the crap out of
  93. Ada' or some such. Thats a thread from hell if ever I saw one.
  94.  
  95. In summary I think Dr Meyer needs to come back to the future.
  96.  
  97. Oh, and about this 'hack' thing....Grief! What is the point arguing about
  98. the meaning of 'hack/er/s'? You can deduce what Dr Meyer means because he
  99. defines what 'C hack' means to him. You don't have to agree or disagree
  100. with the definition to argue whether his conceptualisation is flawed or
  101. not. Dictionary meanings do change with common usage, even if you dont
  102. like what they change into, much as 'hacker' has changed.
  103.  
  104. After three days without programming life becomes meaningless. <unknown>
  105.